<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">

	<title>KSYCameraRecorder Class Reference</title>

	<link rel="stylesheet" href="../css/style.css">
	<meta name="viewport" content="initial-scale=1, maximum-scale=1.4">
	<meta name="generator" content="appledoc 2.2.1 (build 1334)">
</head>
<body class="appledoc">
	<header>
		<div class="container" class="hide-in-xcode">
			
			<h1 id="library-title">
				<a href="../index.html">KSYMediaEditorKit </a>
			</h1>

			<p id="developer-home">
				<a href="../index.html">Kingsoft</a>
			</p>
			
		</div>
	</header>

	<aside>
		<div class="container">
			<nav>
				<ul id="header-buttons" role="toolbar">
					<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>

					<li id="on-this-page" role="navigation">
						<label>
							On This Page

							<div class="chevron">
								<div class="chevy chevron-left"></div>
								<div class="chevy chevron-right"></div>
							</div>

							<select id="jump-to">
	<option value="top">Jump To&#133;</option>
	

	
	
	<option value="tasks">Tasks</option>
	
	

	
	
	<optgroup label="Properties">
		
		<option value="//api/name/audioBitrate">audioBitrate</option>
		
		<option value="//api/name/audioProcessedCallback">audioProcessedCallback</option>
		
		<option value="//api/name/audioProcessingCallback">audioProcessingCallback</option>
		
		<option value="//api/name/bPlayCapturedAudio">bPlayCapturedAudio</option>
		
		<option value="//api/name/bStereoAudioStream">bStereoAudioStream</option>
		
		<option value="//api/name/bgmPlayer">bgmPlayer</option>
		
		<option value="//api/name/cameraPosition">cameraPosition</option>
		
		<option value="//api/name/captureState">captureState</option>
		
		<option value="//api/name/delegate">delegate</option>
		
		<option value="//api/name/effectType">effectType</option>
		
		<option value="//api/name/effectTypeFlag">effectTypeFlag</option>
		
		<option value="//api/name/exposureCompensation">exposureCompensation</option>
		
		<option value="//api/name/filter">filter</option>
		
		<option value="//api/name/interruptCallback">interruptCallback</option>
		
		<option value="//api/name/maxRecDuration">maxRecDuration</option>
		
		<option value="//api/name/minRecDuration">minRecDuration</option>
		
		<option value="//api/name/outputVideoDimension">outputVideoDimension</option>
		
		<option value="//api/name/pinchZoomFactor">pinchZoomFactor</option>
		
		<option value="//api/name/preview">preview</option>
		
		<option value="//api/name/previewDimension">previewDimension</option>
		
		<option value="//api/name/recordRate">recordRate</option>
		
		<option value="//api/name/recordedLength">recordedLength</option>
		
		<option value="//api/name/recordedVideos">recordedVideos</option>
		
		<option value="//api/name/recording">recording</option>
		
		<option value="//api/name/reverbType">reverbType</option>
		
		<option value="//api/name/sessionPreset">sessionPreset</option>
		
		<option value="//api/name/videoBitrate">videoBitrate</option>
		
		<option value="//api/name/videoFrameRate">videoFrameRate</option>
		
		<option value="//api/name/videoOrientation">videoOrientation</option>
		
		<option value="//api/name/videoProcessedCallback">videoProcessedCallback</option>
		
		<option value="//api/name/videoProcessingCallback">videoProcessingCallback</option>
		
	</optgroup>
	

	

	
	<optgroup label="Instance Methods">
		
		<option value="//api/name/adjustBGMVolume:">- adjustBGMVolume:</option>
		
		<option value="//api/name/adjustMicrophoneVolume:">- adjustMicrophoneVolume:</option>
		
		<option value="//api/name/applyMVFromeFilePath:">- applyMVFromeFilePath:</option>
		
		<option value="//api/name/deleteAllRecordedVideo">- deleteAllRecordedVideo</option>
		
		<option value="//api/name/deleteRecordedVideoAt:">- deleteRecordedVideoAt:</option>
		
		<option value="//api/name/deleteRecordedVideoByURL:">- deleteRecordedVideoByURL:</option>
		
		<option value="//api/name/exposureAtPoint:">- exposureAtPoint:</option>
		
		<option value="//api/name/focusAtPoint:">- focusAtPoint:</option>
		
		<option value="//api/name/getVolume:bgm:">- getVolume:bgm:</option>
		
		<option value="//api/name/isTorchSupported">- isTorchSupported</option>
		
		<option value="//api/name/muteAudio:">- muteAudio:</option>
		
		<option value="//api/name/rotatePreviewTo:">- rotatePreviewTo:</option>
		
		<option value="//api/name/rotateStreamTo:">- rotateStreamTo:</option>
		
		<option value="//api/name/setDelayParamID:withInValue:">- setDelayParamID:withInValue:</option>
		
		<option value="//api/name/setPitchParamID:withInValue:">- setPitchParamID:withInValue:</option>
		
		<option value="//api/name/setReverbParamID:withInValue:">- setReverbParamID:withInValue:</option>
		
		<option value="//api/name/setStabilizationMode:">- setStabilizationMode:</option>
		
		<option value="//api/name/startPreview:">- startPreview:</option>
		
		<option value="//api/name/startRecord">- startRecord</option>
		
		<option value="//api/name/stopPreview">- stopPreview</option>
		
		<option value="//api/name/stopRecord:">- stopRecord:</option>
		
		<option value="//api/name/switchCamera">- switchCamera</option>
		
		<option value="//api/name/toggleTorch">- toggleTorch</option>
		
	</optgroup>
	
	
</select>
						</label>
					</li>
				</ul>
			</nav>
		</div>
	</aside>

	<article>
		<div id="overview_contents" class="container">
			<div id="content">
				<main role="main">
					<h1 class="title">KSYCameraRecorder Class Reference</h1>

					
					<div class="section section-specification"><table cellspacing="0"><tbody>
						<tr>
	<th>Inherits from</th>
	<td>NSObject</td>
</tr><tr>
	<th>Declared in</th>
	<td>KSYCameraRecorder.h</td>
</tr>
						</tbody></table></div>
					

                    

					
					
					<div class="section section-tasks">
						<a title="Tasks" name="tasks"></a>
						

						
						

						<div class="task-list">
							<div class="section-method">
	<a name="//api/name/startPreview:" title="startPreview:"></a>
	<h3 class="method-title"><code><a href="#//api/name/startPreview:">&ndash;&nbsp;startPreview:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>开始预览</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)startPreview:(UIView *)<em>parentView</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>parentView</code></th>
						<td><p>camera所在view的父view</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/stopPreview" title="stopPreview"></a>
	<h3 class="method-title"><code><a href="#//api/name/stopPreview">&ndash;&nbsp;stopPreview</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>停止预览</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)stopPreview</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/startRecord" title="startRecord"></a>
	<h3 class="method-title"><code><a href="#//api/name/startRecord">&ndash;&nbsp;startRecord</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>开始录制视频,建议最短录制时长3s</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)startRecord</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/stopRecord:" title="stopRecord:"></a>
	<h3 class="method-title"><code><a href="#//api/name/stopRecord:">&ndash;&nbsp;stopRecord:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>停止录制视频</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)stopRecord:(void ( ^ ) ( void ))<em>complete</em></code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/deleteRecordedVideoAt:" title="deleteRecordedVideoAt:"></a>
	<h3 class="method-title"><code><a href="#//api/name/deleteRecordedVideoAt:">&ndash;&nbsp;deleteRecordedVideoAt:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>删除之前录制的某一段视频</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)deleteRecordedVideoAt:(NSInteger)<em>index</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>index</code></th>
						<td><p>待删除的视频在recordedVideos中的index</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<div class="warning"><p><strong>Warning:</strong> 正在录制时调用无效，文件将会从沙盒中删除</p></div>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/deleteRecordedVideoByURL:" title="deleteRecordedVideoByURL:"></a>
	<h3 class="method-title"><code><a href="#//api/name/deleteRecordedVideoByURL:">&ndash;&nbsp;deleteRecordedVideoByURL:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>根据 URL 删除某个视频文件</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)deleteRecordedVideoByURL:(NSURL *)<em>recordURL</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>recordURL</code></th>
						<td><p>录制好的视频 URL</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/deleteAllRecordedVideo" title="deleteAllRecordedVideo"></a>
	<h3 class="method-title"><code><a href="#//api/name/deleteAllRecordedVideo">&ndash;&nbsp;deleteAllRecordedVideo</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>删除所有录制的视频</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)deleteAllRecordedVideo</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<div class="warning"><p><strong>Warning:</strong> recordedVideos中的所有文件将会从沙盒中删除</p></div>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/switchCamera" title="switchCamera"></a>
	<h3 class="method-title"><code><a href="#//api/name/switchCamera">&ndash;&nbsp;switchCamera</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>前后摄像头切换</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)switchCamera</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/isTorchSupported" title="isTorchSupported"></a>
	<h3 class="method-title"><code><a href="#//api/name/isTorchSupported">&ndash;&nbsp;isTorchSupported</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>该函数表征摄像头具备开启闪光灯的能力</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (BOOL)isTorchSupported</code></div>

		    
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>YES / NO</p>
			</div>
			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/toggleTorch" title="toggleTorch"></a>
	<h3 class="method-title"><code><a href="#//api/name/toggleTorch">&ndash;&nbsp;toggleTorch</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>开关闪光灯</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)toggleTorch</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>切换闪光灯的开关状态 开 &lt;&ndash;> 关</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/muteAudio:" title="muteAudio:"></a>
	<h3 class="method-title"><code><a href="#//api/name/muteAudio:">&ndash;&nbsp;muteAudio:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>是否静音</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)muteAudio:(BOOL)<em>mute</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>mute</code></th>
						<td><p>YES:静音 NO:不静音</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/adjustMicrophoneVolume:" title="adjustMicrophoneVolume:"></a>
	<h3 class="method-title"><code><a href="#//api/name/adjustMicrophoneVolume:">&ndash;&nbsp;adjustMicrophoneVolume:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>音量调节默认音量为1.0, startPreview之后生效,
音量比例（0.0~1.0）溢出内部自动纠正到边界范围</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)adjustMicrophoneVolume:(float)<em>origin</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>origin</code></th>
						<td><p>原音，这里是指采集到的麦克风声音</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/adjustBGMVolume:" title="adjustBGMVolume:"></a>
	<h3 class="method-title"><code><a href="#//api/name/adjustBGMVolume:">&ndash;&nbsp;adjustBGMVolume:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>音量调节默认音量为1.0, startPreview之后生效,
音量比例（0.0~1.0）溢出内部自动纠正到边界范围</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)adjustBGMVolume:(float)<em>bgm</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>bgm</code></th>
						<td><p>背景音</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/getVolume:bgm:" title="getVolume:bgm:"></a>
	<h3 class="method-title"><code><a href="#//api/name/getVolume:bgm:">&ndash;&nbsp;getVolume:bgm:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>获取音量</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)getVolume:(float *)<em>origin</em> bgm:(float *)<em>bgm</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>origin</code></th>
						<td><p>mic音量</p></td>
					</tr>
				
					<tr>
						<th scope="row" class="argument-name"><code>bgm</code></th>
						<td><p>背景音音量</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/applyMVFromeFilePath:" title="applyMVFromeFilePath:"></a>
	<h3 class="method-title"><code><a href="#//api/name/applyMVFromeFilePath:">&ndash;&nbsp;applyMVFromeFilePath:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>@abstract
      apply mv theme</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)applyMVFromeFilePath:(NSString *)<em>filePath</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>filePath</code></th>
						<td><p>MV 资源文件路径</p>

<p>@discussion
     zip解压后的文件夹全路径 eg:
     /var/mobile/Containers/Data/Application/F3AD88CD-4D1F-4AC0-AA6D-FD7B59863FC2/Documents/my_01</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/recordRate" title="recordRate"></a>
	<h3 class="method-title"><code><a href="#//api/name/recordRate">&nbsp;&nbsp;recordRate</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>@abstract
     设置倍速录制</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) float recordRate</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>@discussion
     rate取值范围[0.5-2.0]，默认为1.0
     当带有BGM进行外放变速录制时，建议mute录音（microphone volume设置为0），避免从麦克风采集到的BGM杂音
     不支持MV的变速录制功能</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/captureState" title="captureState"></a>
	<h3 class="method-title"><code><a href="#//api/name/captureState">&nbsp;&nbsp;captureState</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>通知：
* KSYCaptureStateDidChangeNotification 当采集设备工作状态发生变化时提供通知
* 收到通知后，通过本属性查询新的状态，并作出相应的动作</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, readonly) KSYCaptureState captureState</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>通知：
* KSYCaptureStateDidChangeNotification 当采集设备工作状态发生变化时提供通知
* 收到通知后，通过本属性查询新的状态，并作出相应的动作</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/recording" title="recording"></a>
	<h3 class="method-title"><code><a href="#//api/name/recording">&nbsp;&nbsp;recording</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>是否正在录制</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (assign, readonly, getter=isRecording) BOOL recording</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/sessionPreset" title="sessionPreset"></a>
	<h3 class="method-title"><code><a href="#//api/name/sessionPreset">&nbsp;&nbsp;sessionPreset</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>参考 AVCaptureSessionPreset*</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) NSString *sessionPreset</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/videoFrameRate" title="videoFrameRate"></a>
	<h3 class="method-title"><code><a href="#//api/name/videoFrameRate">&nbsp;&nbsp;videoFrameRate</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>视频录制帧率</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) int videoFrameRate</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/previewDimension" title="previewDimension"></a>
	<h3 class="method-title"><code><a href="#//api/name/previewDimension">&nbsp;&nbsp;previewDimension</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>预览分辨率 (仅在开始采集前设置有效)，内部始终将较大的值作为宽度 (目前sdk内部videoOrientation指定为竖屏），
宽高都会向上取整为4的整数倍，有效范围: 宽度[160, 1920] 高度[ 90,  1080], 超出范围会取边界有效值，
当预览分辨率与采集分辨率不一致时:
    若宽高比不同, 先进行裁剪, 再进行缩放
    若宽高比相同, 直接进行缩放
默认值为(1280, 720)</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) CGSize previewDimension</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/preview" title="preview"></a>
	<h3 class="method-title"><code><a href="#//api/name/preview">&nbsp;&nbsp;preview</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>预览视图</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic) KSYGPUView *preview</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/videoBitrate" title="videoBitrate"></a>
	<h3 class="method-title"><code><a href="#//api/name/videoBitrate">&nbsp;&nbsp;videoBitrate</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>录制视频码率, 默认4096</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) int videoBitrate</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/audioBitrate" title="audioBitrate"></a>
	<h3 class="method-title"><code><a href="#//api/name/audioBitrate">&nbsp;&nbsp;audioBitrate</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>录制音频码率， 默认64</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) int audioBitrate</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/bStereoAudioStream" title="bStereoAudioStream"></a>
	<h3 class="method-title"><code><a href="#//api/name/bStereoAudioStream">&nbsp;&nbsp;bStereoAudioStream</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>是否开启双声道，默认为NO</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) BOOL bStereoAudioStream</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/bPlayCapturedAudio" title="bPlayCapturedAudio"></a>
	<h3 class="method-title"><code><a href="#//api/name/bPlayCapturedAudio">&nbsp;&nbsp;bPlayCapturedAudio</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>是否开启耳返</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) BOOL bPlayCapturedAudio</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>@discussion
     只有在插上耳机的时候，才可开启成功</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/filter" title="filter"></a>
	<h3 class="method-title"><code><a href="#//api/name/filter">&nbsp;&nbsp;filter</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>设置滤镜（MV中带有自定义滤镜组，使用MV时，该接口将不生效.MV 的滤镜组将替换当前滤镜）</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) GPUImageOutput&lt;GPUImageInput&gt; *filter</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/outputVideoDimension" title="outputVideoDimension"></a>
	<h3 class="method-title"><code><a href="#//api/name/outputVideoDimension">&nbsp;&nbsp;outputVideoDimension</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>用户定义的视频 <strong>输出</strong> 分辨率</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) CGSize outputVideoDimension</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>有效范围: 宽度[160, 1920] 高度[90, 1080], 超出范围会取边界有效值</p><p>其他与previewDimension限定一致,</p><p>当与previewDimension不一致时, 同样先裁剪到相同宽高比, 再进行缩放</p><p>默认值为(1280, 720)</p>
			</div>
			

			

			
			<div class="method-subsection see-also-section">
				<h4 class="method-subtitle">See Also</h4>
				<ul>
					
					<li><code><p><a href="#//api/name/previewDimension">@property previewDimension</a></p></code></li>
					
				</ul>
			</div>
			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/cameraPosition" title="cameraPosition"></a>
	<h3 class="method-title"><code><a href="#//api/name/cameraPosition">&nbsp;&nbsp;cameraPosition</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>摄像头位置，前置／后置</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) AVCaptureDevicePosition cameraPosition</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/recordedVideos" title="recordedVideos"></a>
	<h3 class="method-title"><code><a href="#//api/name/recordedVideos">&nbsp;&nbsp;recordedVideos</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>保存录制文件的集合</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (strong, readonly) NSArray&lt;__kindofKSYMediaUnit*&gt; *recordedVideos</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/recordedLength" title="recordedLength"></a>
	<h3 class="method-title"><code><a href="#//api/name/recordedLength">&nbsp;&nbsp;recordedLength</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>已经录制完成的视频时长，不包括正在录制的时长</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (assign, readonly) NSTimeInterval recordedLength</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/minRecDuration" title="minRecDuration"></a>
	<h3 class="method-title"><code><a href="#//api/name/minRecDuration">&nbsp;&nbsp;minRecDuration</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>最短录制时长, 视频集合的总时长必须大于该值，默认为3s</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) NSTimeInterval minRecDuration</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/maxRecDuration" title="maxRecDuration"></a>
	<h3 class="method-title"><code><a href="#//api/name/maxRecDuration">&nbsp;&nbsp;maxRecDuration</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>最长录制时长，视频集合的总时长必须小于该值，当录制时长超过该值后内部自动停止录制, 默认sdk本身不限制，但必须大于<a href="#//api/name/minRecDuration">minRecDuration</a></p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) NSTimeInterval maxRecDuration</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/delegate" title="delegate"></a>
	<h3 class="method-title"><code><a href="#//api/name/delegate">&nbsp;&nbsp;delegate</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			

			<div class="method-subsection method-declaration"><code>@property (nonatomic, weak) id&lt;KSYCameraRecorderDelegate&gt; delegate</code></div>

		    
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/bgmPlayer" title="bgmPlayer"></a>
	<h3 class="method-title"><code><a href="#//api/name/bgmPlayer">&nbsp;&nbsp;bgmPlayer</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>背景音乐播放器, startPreview之后生效</p>

<p>MV 中如果带有BGM，将会替换当前BGM。当 MV 中带有音频时，不建议添加BGM</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, readonly) KSYBgmPlayer *bgmPlayer</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/reverbType" title="reverbType"></a>
	<h3 class="method-title"><code><a href="#//api/name/reverbType">&nbsp;&nbsp;reverbType</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>混响类型</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) KSYMEReverbType reverbType</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/effectType" title="effectType"></a>
	<h3 class="method-title"><code><a href="#//api/name/effectType">&nbsp;&nbsp;effectType</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>音效类型</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) KSYAudioEffectType effectType</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/pinchZoomFactor" title="pinchZoomFactor"></a>
	<h3 class="method-title"><code><a href="#//api/name/pinchZoomFactor">&nbsp;&nbsp;pinchZoomFactor</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>触摸缩放因子，用于调节焦距(0.0 - 1.0)</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) CGFloat pinchZoomFactor</code></div>

		    
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/exposureCompensation" title="exposureCompensation"></a>
	<h3 class="method-title"><code><a href="#//api/name/exposureCompensation">&nbsp;&nbsp;exposureCompensation</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>曝光补偿比例 (0 - 1.0) 0为无补偿，1为最大补偿</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) CGFloat exposureCompensation</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>setter 获取当前设备曝光补偿比例
             getter 设置设备曝光度补偿比例</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/exposureAtPoint:" title="exposureAtPoint:"></a>
	<h3 class="method-title"><code><a href="#//api/name/exposureAtPoint:">&ndash;&nbsp;exposureAtPoint:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>手动曝光</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)exposureAtPoint:(CGPoint)<em>point</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>point</code></th>
						<td><p>坐标</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/focusAtPoint:" title="focusAtPoint:"></a>
	<h3 class="method-title"><code><a href="#//api/name/focusAtPoint:">&ndash;&nbsp;focusAtPoint:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>手动对焦</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)focusAtPoint:(CGPoint)<em>point</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>point</code></th>
						<td><p>焦点坐标</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/videoOrientation" title="videoOrientation"></a>
	<h3 class="method-title"><code><a href="#//api/name/videoOrientation">&nbsp;&nbsp;videoOrientation</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>摄像头朝向, 只在启动采集前设置有效</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic) UIInterfaceOrientation videoOrientation</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>参见UIInterfaceOrientation</p><p>竖屏时: width &lt; height</p><p>横屏时: width > height</p><p>需要与UI方向一致</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/rotatePreviewTo:" title="rotatePreviewTo:"></a>
	<h3 class="method-title"><code><a href="#//api/name/rotatePreviewTo:">&ndash;&nbsp;rotatePreviewTo:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>旋转视频流预览方向</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)rotatePreviewTo:(UIInterfaceOrientation)<em>orie</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>orie</code></th>
						<td><p>旋转到目标朝向</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/rotateStreamTo:" title="rotateStreamTo:"></a>
	<h3 class="method-title"><code><a href="#//api/name/rotateStreamTo:">&ndash;&nbsp;rotateStreamTo:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>旋转视频流输出方向</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)rotateStreamTo:(UIInterfaceOrientation)<em>orie</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>orie</code></th>
						<td><p>旋转到目标朝向</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/setStabilizationMode:" title="setStabilizationMode:"></a>
	<h3 class="method-title"><code><a href="#//api/name/setStabilizationMode:">&ndash;&nbsp;setStabilizationMode:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>尝试开启视频防抖</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (BOOL)setStabilizationMode:(AVCaptureVideoStabilizationMode)<em>mode</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>mode</code></th>
						<td><p>AVCaptureVideoStabilizationMode</p></td>
					</tr>
				
				</table>
			</div>
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>是否开启成功</p>
			</div>
			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>防抖模式会增加一定内存消耗
     1. iPhone前置摄像头不支持防抖功能
     2. 部分videoFormat不支持防抖模式</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/videoProcessingCallback" title="videoProcessingCallback"></a>
	<h3 class="method-title"><code><a href="#//api/name/videoProcessingCallback">&nbsp;&nbsp;videoProcessingCallback</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>视频处理回调接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) void ( ^ ) ( CMSampleBufferRef sampleBuffer ) videoProcessingCallback</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>sampleBuffer 原始采集到的视频数据</p><p>对sampleBuffer内的图像数据的修改将传递到观众端</p><p>请注意本函数的执行时间，如果太长可能导致不可预知的问题</p><p>请参考 CMSampleBufferRef</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/videoProcessedCallback" title="videoProcessedCallback"></a>
	<h3 class="method-title"><code><a href="#//api/name/videoProcessedCallback">&nbsp;&nbsp;videoProcessedCallback</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>@abstract
      视频处理完毕回调接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) void ( ^ ) ( CVPixelBufferRef pixelBuffer , CMTime timeInfo ) videoProcessedCallback</code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>pixelBuffer</code></th>
						<td><p>处理后的图像数据</p></td>
					</tr>
				
					<tr>
						<th scope="row" class="argument-name"><code>timeInfo</code></th>
						<td><p>时间戳</p>

<p>@discussion
      请注意本函数的执行时间，如果太长可能导致不可预知的问题
      请参考 CVPixelBufferRef</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/audioProcessingCallback" title="audioProcessingCallback"></a>
	<h3 class="method-title"><code><a href="#//api/name/audioProcessingCallback">&nbsp;&nbsp;audioProcessingCallback</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>音频处理回调接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) void ( ^ ) ( CMSampleBufferRef sampleBuffer ) audioProcessingCallback</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>sampleBuffer 原始采集到的音频数据</p><p>对sampleBuffer内的pcm数据的修改将传递到观众端</p><p>请注意本函数的执行时间，如果太长可能导致不可预知的问题</p><p>请参考 CMSampleBufferRef</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/audioProcessedCallback" title="audioProcessedCallback"></a>
	<h3 class="method-title"><code><a href="#//api/name/audioProcessedCallback">&nbsp;&nbsp;audioProcessedCallback</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>音频处理完成回调接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) void ( ^ ) ( CMSampleBufferRef sampleBuffer ) audioProcessedCallback</code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>sampleBuffer</code></th>
						<td><p>处理完毕后的音频数据</p>

<p>@discussion
      请注意本函数的执行时间，如果太长可能导致不可预知的问题
      请参考 CMSampleBufferRef</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/interruptCallback" title="interruptCallback"></a>
	<h3 class="method-title"><code><a href="#//api/name/interruptCallback">&nbsp;&nbsp;interruptCallback</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>摄像头采集被打断的消息通知</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) void ( ^ ) ( BOOL bInterrupt ) interruptCallback</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>bInterrupt 为YES, 表明被打断, 摄像头采集暂停</p><p>bInterrupt 为NO, 表明恢复采集</p>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/effectTypeFlag" title="effectTypeFlag"></a>
	<h3 class="method-title"><code><a href="#//api/name/effectTypeFlag">&nbsp;&nbsp;effectTypeFlag</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>变调组合类型</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) int effectTypeFlag</code></div>

		    
			

			

			

			
			<div class="method-subsection discussion-section">
				<h4 class="method-subtitle">Discussion</h4>
				<p>目前提供了8种类型的变调场景, flag和变调组合类型的对应关系如下
- 0 无组合
- 1 reverb
- 2 delay
- 3 reverb+delay
- 4 pitchShift
- 5 reverb+pitchShift
- 6 delay+pitchShift
- 7 reverb+delay+pitchShift</p><div class="warning"><p><strong>Warning:</strong> 在设置effectTypeFlag时，请先将effectType设置成KSYAudioEffectType_COUSTOM模式，否则effectTypeFlag设置无法生效</p></div>
			</div>
			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/setReverbParamID:withInValue:" title="setReverbParamID:withInValue:"></a>
	<h3 class="method-title"><code><a href="#//api/name/setReverbParamID:withInValue:">&ndash;&nbsp;setReverbParamID:withInValue:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>自定义混响参数接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)setReverbParamID:(AudioUnitParameterID)<em>inID</em> withInValue:(AudioUnitParameterValue)<em>inValue</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>inID</code></th>
						<td><p>混响参数(0~6), 对应关系如下
- 0 kReverb2Param_DryWetMix
- 1 kReverb2Param_Gain
- 2 kReverb2Param_MinDelayTime
- 3 kReverb2Param_MaxDelayTime
- 4 kReverb2Param_DecayTimeAt0Hz
- 5 kReverb2Param_DecayTimeAtNyquist
- 6 kReverb2Param_RandomizeReflections
*</p></td>
					</tr>
				
					<tr>
						<th scope="row" class="argument-name"><code>inValue</code></th>
						<td><p>混响参数对应的值</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/setPitchParamID:withInValue:" title="setPitchParamID:withInValue:"></a>
	<h3 class="method-title"><code><a href="#//api/name/setPitchParamID:withInValue:">&ndash;&nbsp;setPitchParamID:withInValue:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>自定义pitchShift参数接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)setPitchParamID:(AudioUnitParameterID)<em>inID</em> withInValue:(AudioUnitParameterValue)<em>inValue</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>inID</code></th>
						<td><p>pitchShift参数,对应关系如下
- 0 kNewTimePitchParam_Rate
- 1 kNewTimePitchParam_Pitch (SDK中变调主要是调这个参数)
- 4 kNewTimePitchParam_Overlap
- 6 kNewTimePitchParam_EnablePeakLocking
*</p></td>
					</tr>
				
					<tr>
						<th scope="row" class="argument-name"><code>inValue</code></th>
						<td><p>pitchShift参数对应的值</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/setDelayParamID:withInValue:" title="setDelayParamID:withInValue:"></a>
	<h3 class="method-title"><code><a href="#//api/name/setDelayParamID:withInValue:">&ndash;&nbsp;setDelayParamID:withInValue:</a></code>
</h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>自定义delay参数接口</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (void)setDelayParamID:(AudioUnitParameterID)<em>inID</em> withInValue:(AudioUnitParameterValue)<em>inValue</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>inID</code></th>
						<td><p>delay参数(0~3),对应关系如下
- 0 kDelayParam_WetDryMix
- 1 kDelayParam_DelayTime
- 2 kDelayParam_Feedback
- 3 kDelayParam_LopassCutoff
*</p></td>
					</tr>
				
					<tr>
						<th scope="row" class="argument-name"><code>inValue</code></th>
						<td><p>delay参数对应的值</p></td>
					</tr>
				
				</table>
			</div>
			

			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">KSYCameraRecorder.h</code></p>
			</div>
			
			
		</div>
	</div>
</div>
						</div>
						
					</div>
					
					

                    
                    
          
				</main>

				<footer>
					<div class="footer-copyright">
						
						<p class="copyright">Copyright &copy; 2018 Kingsoft. All rights reserved. Updated: 2018-02-09</p>
						
						
						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
						
					</div>
				</footer>
			</div>
		</div>
	</article>

	<script src="../js/script.js"></script>
</body>
</html>